﻿using Basic.OAModel.DB;
using Basic.OARemoteModel.FillInItem.Model;
using Basic.OARemoteModel.UserFill.Model;
using WeDonekRpc.Model;

namespace Basic.OACollect
{
    public interface IEmpFillInItemCollect
    {
        UserFillData GetItem ( long id );
        bool Revoke ( DBEmpFillInItem item );
        bool Submit ( DBEmpFillInItem item );
        UserFillItem[] QueryFillItem ( UserFillItemQuery query, IBasicPage paging, out int count );
        long[] Query ( FillInItemQuery query, IBasicPage paging, out int count );
        Dictionary<long, int> GetFillEmpNum ( long[] fillInId );
        Result[] Query<Result> ( FillInItemQuery query, IBasicPage paging, out int count ) where Result : class;
        void Sync ( long fillInId, FillInEmp[] adds );
        bool CheckIsNull ( long fillId );

        DBEmpFillInItem Get ( long id );
        int Count ( long fillId );
        void Delete ( DBEmpFillInItem item );
        DBEmpFillInItem Get ( long fillId, long empId );
    }
}